import java.util.Scanner;


//求一个整数，在内存当中存储时，二进制1的个数。
public class TextDemo {
    public static void main(String[] args) {
        System.out.println("请输入一个数");
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int count=0;
        /*for(int i=0;i<32;i++)
        {
            if((a&1)==1){
                count++;
            }
                a=a>>>1;//不用>>的原因是负数的话会死循环，所以采用无符号右移
        }*/
        //法二，更优
        /*while(a!=0){
            if((a&1)==1){
                count++;
            }
            a=a>>>1;
        }*/
         //法三
        while(a!=0){
            a=a&(a-1);
            count++;

        }

        System.out.println(count);

    }
}
